home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / program / gemxx19.zoo / gem++19 / man / gemsl.man < prev    next >
Text File  |  1993-10-06  |  4KB  |  130 lines

  1.                      GEM++ - C++ LIBRARIES FOR GEM/AES/VDI
  2.  
  3.  
  4.  
  5. NAME
  6.      GEMslider - Conventional GEM slider objects, with extensions.
  7.  
  8. DESCRIPTION
  9.      A GEMslider may be horizontal or vertical, or both.  A two-way
  10.      slider is often called a "panner".
  11.  
  12.      A GEMslider proportionally represents some "window" into some
  13.      larger object.  There is no actual larger object - that is
  14.      define by the class user.
  15.  
  16.      Normally, up to 50ms is spent waiting for the mouse to be released
  17.      from arrows, and up to 250ms from page areas of the scrollbar.
  18.      This allows the sliders to auto-repeat.  Times are configurable.
  19.  
  20.      Note that the GEMobject which a GEMslider is is the RACK of
  21.      the slider.
  22.  
  23. CONSTRUCTORS
  24.      GEMslider(GEMform& f, int RSCknob, int RSCrack)
  25.        Create a GEMslider that allows the object with the RSC index
  26.        "knob" to slide within the object with the RSC index "rack".
  27.        Both objects are in the given GEMform.  Currently, the knob
  28.        must be a child of the rack.
  29.  
  30.      GEMslider(GEMform&, int RSCknob, int RSCrack, int RSCminus, int RSCplus)
  31.        Create a slider as above, but also specifying two other objects
  32.        that when clicked will advance the "window" by one "line" or
  33.        "column" in either direction.  The horizontal or vertical nature
  34.        of the slider is calculated from the dimensions of the knob
  35.        and rack.
  36.  
  37.      GEMslider(GEMform&, int RSCknob, int RSCrack,
  38.           int RSChminus, int RSChplus,
  39.           int RSCvminus, int RSCvplus)
  40.        Create a slider as above, but with both horizontal AND vertical
  41.        adjustors.
  42.  
  43. METHODS
  44.      virtual void Flush()
  45.        Cause all modifications by the below functions to take visual
  46.        effect.
  47.  
  48.      void SetVisibleLines(int noOfLines)
  49.      void SetVisibleColumns(int noOfColumns)
  50.        Set the size of the "window" in document units.
  51.        Document units are arbitrarily defined by the class user.
  52.  
  53.      void SetTotalLines(int noOfLines)
  54.      void SetTotalColumns(int noOfColumns)
  55.        Set the size of the document in document units.
  56.  
  57.      void SetTopLine(int noOfLine)
  58.      void SetLeftColumn(int noOfColumn)
  59.        Set the position of the "window" in the document in document units.
  60.  
  61.      int VisibleLines()
  62.      int VisibleColumns()
  63.        Return size of "window" in document units.
  64.  
  65.      int TopLine()
  66.      int LeftColumn()
  67.        Return position of "window" in document units.
  68.  
  69.      void ColumnLeft()
  70.      void ColumnRight()
  71.        Move the "window" by HColumnAmount() document units in any direction.
  72.      virtual int HColumnAmount()
  73.        (normally 1)
  74.      
  75.      void LineUp()
  76.      void LineDown()
  77.        Move the "window" by VLineAmount() document units in any direction.
  78.      virtual int VLineAmount()
  79.        (normally 1)
  80.      
  81.      void PageLeft()
  82.      void PageRight()
  83.        Move the "window" by HPageAmount() document units in any direction
  84.      virtual int HPageAmount()
  85.        (normally equal to the current size of the "window")
  86.  
  87.      void PageUp()
  88.      void PageDown()
  89.        Move the "window" by VPageAmount() document units in any direction
  90.      virtual int VPageAmount()
  91.        (normally equal to the current size of the "window")
  92.  
  93.      int LineDelay(int ms)
  94.      int PageDelay(int ms)
  95.        Set the line or page auto-repeat rate in milliseconds.  Unchanged
  96.        if ms is negative.  Returns value before change.
  97.  
  98.      void GEMtoDOC()
  99.      void DOCtoGEM()
  100.        Flush object changes or changes by above methods without redraw.
  101.  
  102.      GEMfeedback Touch(int x, int y, const GEMevent&)
  103.        Overrides GEMobject::Touch() to implement the required action.
  104.  
  105. EXTENSION
  106.      By overriding the Flush() method, the class user may take
  107.      the TopLine/LeftColumn values and adjust some other display
  108.      accordingly.
  109.  
  110. SEE ALSO
  111.      GEMobject
  112.  
  113. BUGS
  114.      Bugs in GEM++ should be reported to warwick@cs.uq.oz.au
  115.  
  116. AUTHOR
  117.      Warwick Allison, 1993.
  118.      warwick@cs.uq.oz.au
  119.  
  120. COPYING
  121.      This functionality is part of the GEM++ library,
  122.      and is Copyright 1993 by Warwick W. Allison.
  123.  
  124.      GEM++ is free and protected under the GNU Library General Public
  125.      License.
  126.  
  127.      You are free to copy and modify these sources, provided you
  128.      acknowledge the origin by retaining this notice, and adhere to
  129.      the conditions described in the GNU LGPL.
  130.